package 区间相关问题;

import java.util.Arrays;
import java.util.Comparator;

public class 区间覆盖 {
    public int removeCoveredIntervals(int[][] intervals) {
        Arrays.sort(intervals, new Comparator<int[]>() {
            @Override
            public int compare(int[] a, int[] b) {
                //含义：如果第一列中的两个数相等，则第二列中的数降序，不相等，则对第一列进行升序排列
                return a[0]==b[0]?b[1]-a[1]:a[0]-b[0];
            }
        });
        int left=intervals[0][0];
        int right=intervals[0][1];
        int res=0;
        for (int i = 1; i < intervals.length; i++) {
            int[] ints = intervals[i];
            if (left<=ints[0] && right>=ints[1])
                res++;
            if (right>=ints[0] && right<=ints[1])
                right=ints[1];
            if (right<=ints[0]){
                left=ints[0];
                right=ints[1];
            }
        }
        return intervals.length-res;
    }
}
